<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>26-bit computing</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/26-bit_computing"> <link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-26-bit_computing rootpage-26-bit_computing skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">26-bit computing</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><style data-mw-deduplicate="TemplateStyles:r1251242444">
/* start https://en.wikipedia.org/ */
.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}@media print{body.ns-0 .mw-parser-output .ambox{display:none!important}}
/* end https://en.wikipedia.org/ */
</style>
<style data-mw-deduplicate="TemplateStyles:r1129693374">
/* start https://en.wikipedia.org/ */
.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}
/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1246091330">
/* start https://en.wikipedia.org/ */
.mw-parser-output .sidebar{width:22em;float:right;clear:right;margin:0.5em 0 1em 1em;background:var(--background-color-neutral-subtle,#f8f9fa);border:1px solid var(--border-color-base,#a2a9b1);padding:0.2em;text-align:center;line-height:1.4em;font-size:88%;border-collapse:collapse;display:table}body.skin-minerva .mw-parser-output .sidebar{display:table!important;float:right!important;margin:0.5em 0 1em 1em!important}.mw-parser-output .sidebar-subgroup{width:100%;margin:0;border-spacing:0}.mw-parser-output .sidebar-left{float:left;clear:left;margin:0.5em 1em 1em 0}.mw-parser-output .sidebar-none{float:none;clear:both;margin:0.5em 1em 1em 0}.mw-parser-output .sidebar-outer-title{padding:0 0.4em 0.2em;font-size:125%;line-height:1.2em;font-weight:bold}.mw-parser-output .sidebar-top-image{padding:0.4em}.mw-parser-output .sidebar-top-caption,.mw-parser-output .sidebar-pretitle-with-top-image,.mw-parser-output .sidebar-caption{padding:0.2em 0.4em 0;line-height:1.2em}.mw-parser-output .sidebar-pretitle{padding:0.4em 0.4em 0;line-height:1.2em}.mw-parser-output .sidebar-title,.mw-parser-output .sidebar-title-with-pretitle{padding:0.2em 0.8em;font-size:145%;line-height:1.2em}.mw-parser-output .sidebar-title-with-pretitle{padding:0.1em 0.4em}.mw-parser-output .sidebar-image{padding:0.2em 0.4em 0.4em}.mw-parser-output .sidebar-heading{padding:0.1em 0.4em}.mw-parser-output .sidebar-content{padding:0 0.5em 0.4em}.mw-parser-output .sidebar-content-with-subgroup{padding:0.1em 0.4em 0.2em}.mw-parser-output .sidebar-above,.mw-parser-output .sidebar-below{padding:0.3em 0.8em;font-weight:bold}.mw-parser-output .sidebar-collapse .sidebar-above,.mw-parser-output .sidebar-collapse .sidebar-below{border-top:1px solid #aaa;border-bottom:1px solid #aaa}.mw-parser-output .sidebar-navbar{text-align:right;font-size:115%;padding:0 0.4em 0.4em}.mw-parser-output .sidebar-list-title{padding:0 0.4em;text-align:left;font-weight:bold;line-height:1.6em;font-size:105%}.mw-parser-output .sidebar-list-title-c{padding:0 0.4em;text-align:center;margin:0 3.3em}@media(max-width:640px){body.mediawiki .mw-parser-output .sidebar{width:100%!important;clear:both;float:none!important;margin-left:0!important;margin-right:0!important}}body.skin--responsive .mw-parser-output .sidebar a>img{max-width:none!important}@media screen{html.skin-theme-clientpref-night .mw-parser-output .sidebar:not(.notheme) .sidebar-list-title,html.skin-theme-clientpref-night .mw-parser-output .sidebar:not(.notheme) .sidebar-title-with-pretitle{background:transparent!important}html.skin-theme-clientpref-night .mw-parser-output .sidebar:not(.notheme) .sidebar-title-with-pretitle a{color:var(--color-progressive)!important}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .sidebar:not(.notheme) .sidebar-list-title,html.skin-theme-clientpref-os .mw-parser-output .sidebar:not(.notheme) .sidebar-title-with-pretitle{background:transparent!important}html.skin-theme-clientpref-os .mw-parser-output .sidebar:not(.notheme) .sidebar-title-with-pretitle a{color:var(--color-progressive)!important}}@media print{body.ns-0 .mw-parser-output .sidebar{display:none!important}}
/* end https://en.wikipedia.org/ */
</style><table class="sidebar nomobile nowraplinks"><tbody><tr><th class="sidebar-title" style="font-size: 120%;">Computer architecture bit widths</th></tr><tr><th class="sidebar-heading" style="background-color: #ccccff;">
<a href="Word_(computer_architecture)" title="Word (computer architecture)">Bit</a></th></tr><tr><td class="sidebar-content">
<div class="hlist"><ul><li><a href="1-bit_computing" title="1-bit computing">1</a></li><li><a href="4-bit_computing" title="4-bit computing">4</a></li><li><a href="8-bit_computing" title="8-bit computing">8</a></li><li><a href="12-bit_computing" title="12-bit computing">12</a></li><li><a href="16-bit_computing" title="16-bit computing">16</a></li><li><a href="18-bit_computing" title="18-bit computing">18</a></li><li><a href="24-bit_computing" title="24-bit computing">24</a></li><li><a href="UNIVAC_490" title="UNIVAC 490">30</a></li><li><a href="31-bit_computing" title="31-bit computing">31</a></li><li><a href="32-bit_computing" title="32-bit computing">32</a></li><li><a href="36-bit_computing" title="36-bit computing">36</a></li><li><a href="45-bit_computing" title="45-bit computing">45</a></li><li><a href="48-bit_computing" title="48-bit computing">48</a></li><li><a href="60-bit_computing" title="60-bit computing">60</a></li><li><a href="64-bit_computing" title="64-bit computing">64</a></li><li><a href="128-bit_computing" title="128-bit computing">128</a></li><li><a href="256-bit_computing" title="256-bit computing">256</a></li><li><a href="512-bit_computing" title="512-bit computing">512</a></li><li><a href="Bit_slicing" title="Bit slicing">bit slicing</a></li></ul></div></td>
</tr><tr><th class="sidebar-heading" style="background-color: #ccccff;">
<a href="Application_software" title="Application software">Application</a></th></tr><tr><td class="sidebar-content">
<div class="hlist"><ul><li><a href="8-bit_computing" title="8-bit computing">8</a></li><li><a href="16-bit_computing#16-bit_application" title="16-bit computing">16</a></li><li><a href="32-bit_computing#32-bit_application" title="32-bit computing">32</a></li><li><a href="64-bit_computing#64-bit_applications" title="64-bit computing">64</a></li></ul></div></td>
</tr><tr><th class="sidebar-heading" style="background-color: #ccccff;">
<a href="Floating-point_arithmetic" title="Floating-point arithmetic">Binary floating-point</a> <a href="Precision_(computer_science)" title="Precision (computer science)">precision</a></th></tr><tr><td class="sidebar-content">
<div class="hlist"><ul><li><a href="Half-precision_floating-point_format" title="Half-precision floating-point format">16</a> (×½)</li><li><a href="Minifloat" title="Minifloat">24</a></li><li><a href="Single-precision_floating-point_format" title="Single-precision floating-point format">32</a> (×1)</li><li><a href="Extended_precision" title="Extended precision">40</a></li><li><a href="Double-precision_floating-point_format" title="Double-precision floating-point format">64</a> (×2)</li><li><a href="Extended_precision" title="Extended precision">80</a></li><li><a href="Quadruple-precision_floating-point_format" title="Quadruple-precision floating-point format">128</a> (×4)</li><li><a href="Octuple-precision_floating-point_format" title="Octuple-precision floating-point format">256</a> (×8)</li></ul></div></td>
</tr><tr><th class="sidebar-heading" style="background-color: #ccccff;">
<a href="Decimal_floating_point" title="Decimal floating point">Decimal floating-point</a> <a href="Precision_(computer_science)" title="Precision (computer science)">precision</a></th></tr><tr><td class="sidebar-content">
<div class="hlist"><ul><li><a href="Decimal32_floating-point_format" title="Decimal32 floating-point format">32</a></li><li><a href="Decimal64_floating-point_format" title="Decimal64 floating-point format">64</a></li><li><a href="Decimal128_floating-point_format" title="Decimal128 floating-point format">128</a></li></ul></div></td>
</tr><tr><td class="sidebar-navbar"><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}
/* end https://en.wikipedia.org/ */
</style></td></tr></tbody></table>
<p>In <a href="Computer_architecture" title="Computer architecture">computer architecture</a>, <b>26-bit</b> <a href="Integers" class="mw-redirect" title="Integers">integers</a>, <a href="Memory_address" title="Memory address">memory addresses</a>, or other <a href="Data_(computing)" class="mw-redirect" title="Data (computing)">data</a> units are those that are 26 bits wide, and thus can represent unsigned values up to 67,108,863. Two examples of computer processors that featured 26-bit memory addressing are certain second generation IBM <a href="System/370" class="mw-redirect" title="System/370">System/370</a> <a href="Mainframe_computer" title="Mainframe computer">mainframe computer</a> models introduced in 1981 (and several subsequent models), which had 26-bit physical addresses but had only the same 24-bit virtual addresses as earlier models, and the first generations of <a href="ARM_Limited" class="mw-redirect" title="ARM Limited">ARM</a> processors.
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="History">History</h2></div>
<div class="mw-heading mw-heading3"><h3 id="IBM_System/370">IBM System/370</h3></div>
<p>As <a href="Data_processing" title="Data processing">data processing</a> needs continued to grow, IBM and their customers faced challenges directly addressing larger memory sizes. In what ended up being a short-term "emergency" solution, a pair of IBM's second wave of System/370 models, the 3033 and 3081, introduced 26-bit real memory addressing, increasing the System/370's amount of physical memory that could be attached by a factor of 4 from the previous <a href="24-bit_computing" title="24-bit computing">24-bit</a> limit of 16 MB. IBM referred to 26-bit addressing as "extended real addressing," and some subsequent models also included 26-bit support. However, only 2 years later, IBM introduced <a href="31-bit_computing" title="31-bit computing">31-bit</a> memory addressing, expanding both physical and virtual addresses to 31 bits, with its System/370-XA models, and even the popular 3081 was upgradeable to XA standard.
</p><p>Given 26-bit's brief history as the state-of-the-art in memory addressing available in IBM's model range, and given that virtual addresses were still limited to 24 bits, <a href="Software" title="Software">software</a> exploitation of 26-bit mode was limited. The few customers that exploited 26-bit mode eventually adjusted their applications to support 31-bit addressing, and IBM dropped support for 26-bit mode after several years producing models supporting 24-bit, 26-bit, and 31-bit modes. The 26-bit mode is the only addressing mode that IBM removed from its line of mainframe computers descended from the <a href="System/360" class="mw-redirect" title="System/360">System/360</a>. All the other addressing modes, including now 64-bit mode, are supported in current model mainframes.
</p>
<div class="mw-heading mw-heading3"><h3 id="Early_ARM_processors">Early ARM processors</h3></div>
<p>In the <a href="ARM_architecture" class="mw-redirect" title="ARM architecture">ARM processor architecture</a>, 26-bit refers to the design used in the original ARM processors where the <a href="Program_counter" title="Program counter">program counter</a> (<b>PC</b>) and <a href="Status_register" title="Status register">Processor Status Register</a> (<b>PSR</b>) were combined into one 32-bit <a href="Processor_registers" class="mw-redirect" title="Processor registers">register</a> (R15), the status flags filling the high 6 bits and the program counter taking up the lower 26 bits.
</p><p>In fact, because the program counter is always word-aligned the lowest two bits are always zero which allowed the designers to reuse these two bits to hold the processor's mode bits too. The four modes allowed were USR26, SVC26, IRQ26, FIQ26; contrast this with the 32 possible modes available when the program status was separated from the program counter in more recent <a href="ARM_architecture" class="mw-redirect" title="ARM architecture">ARM architectures</a>.
</p><p>This design enabled more efficient <a href="Computer_program" title="Computer program">program</a> execution, as the program counter and status flags could be saved and restored with a single operation. This resulted in faster <a href="Subroutine" class="mw-redirect" title="Subroutine">subroutine</a> calls and <a href="Interrupt" title="Interrupt">interrupt</a> response than traditional designs, which would have to do two register loads or saves when calling or returning from a subroutine.
</p><p>Despite having a <a href="32-bit_computing" title="32-bit computing">32-bit</a> ALU and word-length, processors based on ARM architecture version 1 and 2 had only a 26-bit PC and <a href="Address_bus" class="mw-redirect" title="Address bus">address bus</a>, and were consequently limited to 64 MiB of addressable <a href="Random_Access_Memory" class="mw-redirect" title="Random Access Memory">memory</a>. This was still a vast amount of memory at the time, but because of this limitation, architectures since have included various steps away from the original 26-bit design.
</p><p>The ARM architecture version 3 introduced a 32-bit PC and separate PSR, as well as a 32-bit address bus, allowing 4 GiB of memory to be addressed. The change in the PC/PSR layout caused incompatibility with code written for previous architectures, so the processor also included a 26-bit compatibility mode which used the old PC/PSR combination. The processor could still address 4 GB in this mode, but could not <a href="Execution_(computers)" class="mw-redirect" title="Execution (computers)">execute</a> anything above address 0x3FFFFFC (64 MB). This mode was used by <a href="RISC_OS" title="RISC OS">RISC OS</a> running on the <a href="Risc_PC" title="Risc PC">Acorn Risc PC</a> to utilise the new processors while retaining compatibility with existing software.
</p><p>ARM architecture version 4 made the support of the 26-bit addressing modes optional, and ARM architecture version 5 onwards has removed them entirely.
</p>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<ul><li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20070809230809/http://www.arm.com/pdfs/Apps11vC.html">Differences Between ARM6 and Earlier ARM Processors</a></li>
<li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20050406022001/http://www.iyonix.com/32bit/download/32bit_dev.pdf">"Using the Acorn C/C++ Development Environment to write 32-bit RISC OS software"</a> - Details on the architectural changes and converting code between 26-bit and 32-bit.</li>
<li><a rel="nofollow" class="external free" href="http://www.heyrick.co.uk/assembler/32bit.html">http://www.heyrick.co.uk/assembler/32bit.html</a> - Information on converting assembler to 32-bit</li></ul></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2024-12-15" href="https://en.wikipedia.org/wiki/?title=26-bit_computing&oldid=1263152961">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
</body></html>